```bash
#!/bin/bash

mkdir -p src/main/java/cn/com/wanwei/zion/explain/entity
mkdir -p src/main/java/cn/com/wanwei/zion/explain/mapper
mkdir -p src/main/java/cn/com/wanwei/zion/explain/service
mkdir -p src/main/java/cn/com/wanwei/zion/explain/service/impl
mkdir -p src/main/java/cn/com/wanwei/zion/explain/controller

cat > src/main/java/cn/com/wanwei/zion/explain/entity/StrategyEntity.java <<'EOF'
package cn.com.wanwei.zion.explain.entity;

import com.baomidou.mybatisplus.annotation.*;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;

@Data
@EqualsAndHashCode(callSuper = true)
@TableName("strategy")
@ApiModel(value = "StrategyEntity", description = "攻略实体")
public class StrategyEntity {

    @TableId(type = IdType.ASSIGN_UUID)
    @ApiModelProperty(value = "主键", required = true)
    private String id;

    @ApiModelProperty(value = "标题", required = true)
    private String title;

    @ApiModelProperty(value = "攻略类型 1：城市游玩攻略 2：场所游玩攻略", required = true)
    private Integer type;

    @ApiModelProperty(value = "所属目标编码", required = true)
    private String bizCode;

    @ApiModelProperty(value = "所属目标名称", required = true)
    private String bizName;

    @ApiModelProperty(value = "审核状态 0：待审 1：通过 2：拒绝", required = true)
    private Integer auditStatus;

    @ApiModelProperty(value = "上线状态 0：未上线 1：上线 2：预上线", required = true)
    private Integer shelfStatus;

    @ApiModelProperty(value = "排序权重")
    private Integer sequence;

    @ApiModelProperty(value = "内容", required = true)
    private String content;

    @ApiModelProperty(value = "创建人", required = true)
    private String createBy;

    @TableField(value = "created_date")
    @ApiModelProperty(value = "创建时间", required = true)
    private Date createdDate;

    @ApiModelProperty(value = "更新人")
    private String updateBy;

    @TableField(value = "updated_date")
    @ApiModelProperty(value = "更新时间")
    private Date updatedDate;
}
EOF

cat > src/main/java/cn/com/wanwei/zion/explain/mapper/StrategyMapper.java <<'EOF'
package cn.com.wanwei.zion.explain.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import cn.com.wanwei.zion.explain.entity.StrategyEntity;
import org.apache.ibatis.annotations.Mapper;

@Mapper
public interface StrategyMapper extends BaseMapper<StrategyEntity> {
}
EOF

cat > src/main/java/cn/com/wanwei/zion/explain/service/StrategyService.java <<'EOF'
package cn.com.wanwei.zion.explain.service;

import com.alibaba.cola.dto.PageResponse;
import cn.com.wanwei.zion.explain.entity.StrategyEntity;

public interface StrategyService {
    PageResponse<StrategyEntity> pageList(Integer pageIndex, Integer pageSize);
}
EOF

cat > src/main/java/cn/com/wanwei/zion/explain/service/impl/StrategyServiceImpl.java <<'EOF'
package cn.com.wanwei.zion.explain.service.impl;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.alibaba.cola.dto.PageResponse;
import cn.com.wanwei.zion.explain.entity.StrategyEntity;
import cn.com.wanwei.zion.explain.mapper.StrategyMapper;
import cn.com.wanwei.zion.explain.service.StrategyService;
import javax.annotation.Resource;
import org.springframework.stereotype.Service;

@Service
public class StrategyServiceImpl implements StrategyService {

    @Resource
    private StrategyMapper strategyMapper;

    @Override
    public PageResponse<StrategyEntity> pageList(Integer pageIndex, Integer pageSize) {
        Page<StrategyEntity> page = new Page<>(pageIndex, pageSize);
        strategyMapper.selectPage(page, null);
        return PageResponse.of(page.getRecords(), (int) page.getTotal(), pageIndex, pageSize);
    }
}
EOF

cat > src/main/java/cn/com/wanwei/zion/explain/controller/StrategyController.java <<'EOF'
package cn.com.wanwei.zion.explain.controller;

import com.alibaba.cola.dto.PageResponse;
import cn.com.wanwei.zion.explain.entity.StrategyEntity;
import cn.com.wanwei.zion.explain.service.StrategyService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;

@Api(tags = "攻略管理模块")
@RestController
@RequestMapping("/strategy")
public class StrategyController {

    private final String MODULE_NAME = "攻略管理";

    @Resource
    private StrategyService strategyService;

    @ApiOperation("分页查询攻略列表")
    @SaCheckPermission("xxgl:r")
    @Log(module = MODULE_NAME, message = "分页查询")
    @GetMapping("/page")
    public PageResponse<StrategyEntity> pageList(
        @RequestParam(defaultValue = "1") Integer pageIndex,
        @RequestParam(defaultValue = "10") Integer pageSize) {
        return strategyService.pageList(pageIndex, pageSize);
    }
}
EOF
```